package com.example.demo.server;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

/**
 * 定时任务类
 */
@Service//表示是一个服务类
public class TaskService {
//    @Scheduled(fixedRate = 5000)//表示5秒钟执行一次 fixedRateString = "5000" 等价于 fixedRate=5000
//    public void print() throws InterruptedException {
//        System.out.println("任务1的开始时间:"+System.currentTimeMillis());
//        Thread.sleep(2000);
//        System.out.println("任务1的结束时间:"+System.currentTimeMillis());
//    }
//    //fixedDelayString = "5000"等价fixedDelay=5000
//    @Scheduled(fixedDelayString = "5000")//上一个任务结束之后的5秒，在重复执行当前任务 当前一个任务执行完毕后，等待5秒钟之后，再执行下一次任务
//    public void print2() throws InterruptedException {
//
//        System.out.println("任务2的开始时间:"+System.currentTimeMillis());
//        Thread.sleep(2000);
//        System.out.println("任务2的结束时间:"+System.currentTimeMillis());
//    }
    @Autowired
    JavaMailSenderImpl mailSender;
    //每个月的2号早上6点半准时发送邮件
    @Scheduled(cron = "0 30 6 2 * ?")//
    public void emailTask() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom("584135372@qq.com");//发件人，要和配置文件的一致
        message.setTo("");//收件人地址
        message.setSubject("");//主题
        message.setText("");//内容
        mailSender.send(message);//发送
    }

    //每个星期一早上5点45分准时发送邮件
    @Scheduled(cron = "0 45 5 ? * 1")
    public void emailTask1() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom("584135372@qq.com");//发件人，要和配置文件的一致
        message.setTo("");//收件人地址
        message.setSubject("");//主题
        message.setText("");//内容
        mailSender.send(message);//发送
    }
    @Scheduled(cron = "0 49 14 ? * 1")//每个星期一下午2点49分准时执行下面的方法  14：49：00
    public void sendSgin() {
        //这个方法用来发送签到的
    }
}
